package com.examples.gateway.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.examples.gateway.entity.SystemPermission;

import java.util.List;

/**
 * @author Dai YaLu
 */
public interface ExamPermissionService extends IService<SystemPermission> {

    /**
     * 获取接口权限数据
     * @param serviceName 服务名
     * @param reqMethod   请求类型 POST/GET
     * @param path        请求路径
     * @return 具体权限信息
     */
    SystemPermission getOne(final String serviceName, final String reqMethod, final String path);

    /**
     * 指定服务指定请求类型下的所有权限信息
     * @param serviceName 服务名
     * @param reqMethod   请求类型 POST/GET
     * @return 具体权限信息列表
     */
    List<SystemPermission> getList(final String serviceName, final String reqMethod);

    /**
     * 根据用户id获取所有的接口权限
     * @param userId
     * @return
     */
    List<SystemPermission> list(final Long userId);
}
